package br.com.treelayer.ged.model.beans;
import java.util.Collection;

import javax.persistence.Entity;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;

import org.jboss.seam.annotations.Name;

import br.com.treelayer.commons.model.beans.Persistente;
import br.com.treelayer.ged.model.beans.enums.Perfil;

/**
 * @author Julio Cesar Silveira
 * @version 1.0
 * @created 02-dez-2007 19:54:16
 */
@Entity( name="modulo" )
@Name( value="modulo" )
public class Modulo extends Persistente{

	/**
	 * 
	 */
	private static final long serialVersionUID = 6625003866124618681L;

	private Contratante contratante;
	
	private Collection<Documento> documentos;
	
	private TipoDeDocumento tipoDeDocumento;
	
	private Perfil visibilidade;

	
	/**
	 * @return the documentos
	 */
	@OneToMany( targetEntity=Documento.class, mappedBy="modulo" )
	public Collection<Documento> getDocumentos() {
		return documentos;
	}

	/**
	 * @param documentos the documentos to set
	 */
	public void setDocumentos(Collection<Documento> documentos) {
		this.documentos = documentos;
	}

	/**
	 * @return the tipoDeDocumento
	 */
	public TipoDeDocumento getTipoDeDocumento() {
		return tipoDeDocumento;
	}

	/**
	 * @param tipoDeDocumento the tipoDeDocumento to set
	 */
	public void setTipoDeDocumento(TipoDeDocumento tipoDeDocumento) {
		this.tipoDeDocumento = tipoDeDocumento;
	}

	/**
	 * @return the visibilidade
	 */
	public Perfil getVisibilidade() {
		return visibilidade;
	}

	/**
	 * @param visibilidade the visibilidade to set
	 */
	public void setVisibilidade(Perfil visibilidade) {
		this.visibilidade = visibilidade;
	}

	/**
	 * @return the contratante
	 */
	@ManyToOne( optional=false )
	public Contratante getContratante() {
		return contratante;
	}

	/**
	 * @param contratante the contratante to set
	 */
	public void setContratante(Contratante contratante) {
		this.contratante = contratante;
	}

	
}